using System;
using PHSRAG.Insight21.Purchasing.Enumerations;
namespace PHSRAG.Insight21.Purchasing
{
	#region Constants
	/// <summary>
	/// Summary description for Constants.
    /// -------------------------------------------------------------------------------------------
    /// 05/15/2008 - added sorting for journalEntryGrid on financialtransaction page - trackIt 7690
    /// -------------------------------------------------------------------------------------------
    /// </summary>
	public class Constants
	{
		#region Constants

		public const string POAPSummariesKey					= "POAPSummaries_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string POAPSummaryKey						= "POAPSummary_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string JournalSummaryKey					= "JournalSummary_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string JournalSummariesKey					= "JournalSummaries_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string UserOrderSummariesKey				= "UserOrderSummaries_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string UserOrderSummaryKey					= "UserOrderSummary_DFDA2922-DD92-471c-B96A-7160E16E03EB";

		public const string POAPOrderDetailKey					= "POAPOrderDetail_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string POAPOrderDetailsKey					= "POAPOrderDetails_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string JournalDetailKey					= "JournalDetail_DFDA2922-DD92-471c-B96A-7160E16E03EB";
		public const string JournalDetailsKey					= "JournalDetails_DFDA2922-DD92-471c-B96A-7160E16E03EB";
			
		public const string PurchasingOrderDateColName			= "OrderDate";
		public const string PurchasingFundIdColName				= "FundId";			
		public const string PurchasingFundNumberColName			= "FundNumber";
		public const string PurchasingOrderTypeIdColName		= "OrderTypeId";
		public const string PurchasingOrderTypeColName			= "OrderType";
		public const string PurchasingOrderNumberColName		= "OrderNumber";
		public const string PurchasingVoucherNumberColName		= "PSVoucher";
		public const string PurchasingRequisitionNumberColName	= "RequisitionNumber";
		public const string PurchasingSourceColName				= "Source";

		public const string PurchasingVendorIdColName			= "VendorId";
		public const string PurchasingVendorNameColName			= "VendorName";
		public const string PurchasingRequestorNameColName		= "RequestorName";
        public const string ShipTo = "ShipTo";
		public const string PurchasingCategoryIdColName			= "CategoryId";
		public const string PurchasingCategoryNameColName		= "CategoryName";
		public const string PurchasingAccountNumberColName		= "AccountNumber";
		public const string PurchasingInvoiceDateColName		= "InvoiceDate";
		public const string PurchasingDescriptionColName		= "Description";
		public const string PurchasingQuantityColName			= "Quantity";
		public const string PurchasingInvoiceNumberColName			= "InvoiceNumber";		
	
		public const string PurchasingOrderAmountColName		= "OrderAmount";
		public const string PurchasingExpensedToDateColName		= "ExpensedToDate";
		public const string PurchasingEncumbranceAmountColName	= "EncumbranceAmount";
		public const string PurchasingInvoiceAmountColName		= "InvoiceAmount";

		public const string PurchasingOrderAccountingDateColName = "OrderAccountingDate";

		public const string SummaryDateTableName				= "OverviewSummary";
		public const string OrderDetailDataTableName			= "OrderDetailSummary";

		public const string TotalsTableName						= "Totals";

		public const string TotalOrderAmount					= "TotalOrderAmount";

		public const string TotalExpensedToDate					= "TotalExpensedToDate";
		public const string TotalEncumbranceAmount				= "TotalEncumbranceAmount";
		public const string TotalInvoiceAmount					= "TotalInvoiveAmount";

		public const string PurchasingAssemblyName				= "PHSRAG.Insight21.Purchasing";
		public const string POAPSummaryClassName				= "POAPSummaries";
		public const string POAPOrderDetailClassName			= "POAPOrderDetails";
		public const string JournalSummaryClassName				= "JournalSummaries";
		public const string JournalOrderDetailClassName			= "JournalDetails";

		//OrderTypes
		public const string JournalEntry	= "JE";
		public const string PurchaseOrder	= "PO";
		public const string AccountsPayable = "AP";

        //Sorting - added 05/15/2008
        private const string SortAscendingTextValue = "5";
        private const string SortDescendingTextValue = "6";
        private const string SortSymbolFontNameValue = "Webdings";

        /// <summary>
		/// Set Default values of Search Version to -1. this is used to compare
		/// versions of search, setting default to -1 lets us know no search criteria
		/// is available yet.
		/// </summary>
		public const int		SearchVersionWhenCriteriaNotSet		= -1 ; // when search criteria is not set at all
		
		///Report Names
		
		public const string POAPSummary			= "PO/AP Summary";
		public const string POAPOrderDetails	= "PO/AP Order Details";
		public const string TransactionOverview	= "Transactions Overview";
		public const string TransactionDetails	= "Transaction Details";
		public const string UserOrderSummary	= "User Order Summary";
		public const string Reconcile			= "Reconcile";

		/// <summary>
		/// use this default expensestatus to get All orders,
		/// possible status are 
		///		0 - get all
		///		1 - Paid orders
		///		2 - Unpaid orders
		/// </summary>
		public const int DefaultExpenseStatus	= (int)ExpenseStatus.Unpaid ; 

		/// <summary>
		/// These constants are used by Purchasing pages for annunciator message
		/// to communicated to the user that search filter paramaters are required before 
		/// information will be displayed
		/// </summary>
		public const string	AnnunciatorStartMessage		= "Please enter search criteria and click search button to begin";
		public const string	AnnunciatorTile				= "Search Criteria Required";

		/// <summary>
		/// Crystal report paramaters, sets the report title, report name, and criteria for the report
		/// </summary>
		public const string	ReportTitleParameter		= "reportTitle";
		public const string	ReportLoggedInUser			= "loggedInUser";
		public const string	ReportFilterCriterias		= "filterCriterias";
		
		public const string	FilteredDataTableName = "filtered";
		public const string	OriginalDataTableName = "original";

		public const string	CommandName = "LinkToDetails";

		public const int	DefaultDate = -60;
		
		///<summary>
		/// ASP.NET automatically fills any <table> <td>'s that are empty with 
		/// &nbsp; so they will render in certain browsers ( Netscape) that can't 
		/// handle empty table cells. So when we check a database null from the 
		/// datagrid , it will return &nbsp;. Instead of null check we are compare
		/// with this constant value.
		///</summary>
		public const string Space						= "&nbsp;";
		#endregion
	
		#region Class Variables
		
		#region TableNames
        
		#region Reconcile Orders TableNames
		private const string reconcileMatchedTableName				= "MatchedOrders";
		private const string reconcileUnMatchedInsightTableName		= "Insight";
		private const string reconcileUnMatchedPSTableName			= "PS";
		#endregion

		#region UserOrderDetails TableName
		private const string userOrderDetailsHeaderTableName		= "UserOrderHeader";
		private const string userOrderDetailsLineItemsTableName		= "LineItems";
		#endregion

		#region POAPDetails TableName
		private const string pOAPDetailsHeaderDataTableName			= "OrderHeader";
		private const string pOAPDetailsDataTableName				= "OrderLine";
		private const string pOAPDetailsDistribDataTableName		= "OrderDistrib";
		private const string pOAPDetailsTotals						= "Totals";
		#endregion

		#region JournalEntryTableName
		private const string feedDataTableName						= "FeedDate";
		private const string journalEntryDataTableName				= "JournalEntry";
		#endregion

		#endregion

		#region Default Values
		private const string defaultTransactionStartDate			= "01/01/1900";
		private const string defaultTransactionEndDate				= "12/31/9999";
		private const int defaultSummaryPageLevelValue				= 1;
		private const int defaultDetailPageLevelValue				= 2;
		private const int defaultSubDetailPageLevelValue			= 3;

		#endregion

		#region Style
		private const string deficitStyle							= "DataGridNegativeCurrencyItem";
		private const string currencyStyle							= "currency";
		private const string	idColName							= "ID";
		private const string	lineColName							= "LineNumber";
		#endregion
		
		#region Style for expanding grid
		private const string gridItemExpanded				= "GridItemExpanded";
		private const string gridAltItemExpanded			= "GridAltItemExpanded";
		private const string innerRadioButton				= "innerRadioButton";
		private const string innerRadioButtonExpanded		= "innerRadioButtonExpanded";
		private const string expandedGridDeficitStyle		= "expandingGridDeficitAmount";		
		private const string expandingGridCurrencyStyle		= "expandingGridCurrency";
	
		#endregion

		#region Sort Order Text
		private const string sortOrderDescending					= "DESC";
		private const string sortOrderAscending						= "ASC";
		#endregion		

		#region Column Names

		// For User Order Line Items in User Order Details
		private const string orderIDColumnName			= "OrderID";
		private const string lineIDColumnName			= "LineID";
		private const string accountIDColumnName		= "AccountID";
		private const string accountNumberColumnName	= "AccountNumber";
		private const string fundIDColumnName			= "FundID";
		private const string fundNumberColumnName		= "FundNumber";
		private const string amountColumnName			= "Amount";
		private const string commentColumnName			= "Comment";
		private const string requestorColumnName		= "RequestorName";
		private const string accessLevelColumnName		= "AccessLevel";
		#endregion
		
		#endregion

		#region Public Properties

		#region Reconcile Orders
		///<summary>Table Name for Reconcile Matched Orders</summary>
		public static string ReconcileMatchedTableName				{ get { return reconcileMatchedTableName; } }

		///<summary>Table Name for Reconcile UnMatched Orders originating from Insight Tables</summary>
		public static string ReconcileUnMatchedInsightTableName		{ get { return reconcileUnMatchedInsightTableName; } }

		///<summary>Table Name for Reconcile UnMatched Orders originating from PeopleSoft Tables</summary>
		public static string ReconcileUnMatchedPSTableName			{ get { return reconcileUnMatchedPSTableName; } }
		#endregion

		#region UserOrderDetails
		///<summary>Table Name for Header data in User Order Details Screen</summary>
		public static string UserOrderDetailsHeaderTableName		{ get { return userOrderDetailsHeaderTableName; } }

		///<summary>Table Name for line items in User Order Details Screen</summary>
		public static string UserOrderDetailsLineItemsTableName		{ get { return userOrderDetailsLineItemsTableName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string OrderIDColumnName						{ get { return orderIDColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string LineIDColumnName						{ get { return lineIDColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string AccountIDColumnName					{ get { return accountIDColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string AccountNumberColumnName		{ get { return accountNumberColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string FundIDColumnName		{ get { return fundIDColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string FundNumberColumnName		{ get { return fundNumberColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string AmountColumnName		{ get { return amountColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string CommentColumnName		{ get { return commentColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string RequestorColumnName		{ get { return requestorColumnName; } }

		///<summary>Column Name for line items data in User Order Details Screen</summary>
		public static string AccessLevelColumnName		{ get { return accessLevelColumnName; } }

		#endregion

		#region POAP Details
		///<summary>Table Name for Order Header in PO Details Screen</summary>
		public static string POAPDetailsHeaderDataTableName			{ get { return pOAPDetailsHeaderDataTableName; } }

		///<summary>Table Name for Order Details in PO Details Screen</summary>
		public static string POAPDetailsDataTableName				{ get { return pOAPDetailsDataTableName; } }

		///<summary>Table Name for Order Distribution in PO Details Screen</summary>
		public static string POAPDetailsDistribDataTableName		{ get { return pOAPDetailsDistribDataTableName; } }

		///<summary>Table Name for Totals in PO Details Screen</summary>
		public static string POAPDetailsTotals						{ get { return pOAPDetailsTotals; } }
		public static string IDColName
		{
			get{return idColName;}
		}
		public static string LineColName
		{
			get{return lineColName;}
		}
		#endregion

		#region Financial Transaction
		///<summary>Table Name for Totals in PO Details Screen</summary>
		public static string FeedDataTableName						{ get { return feedDataTableName; } }

		///<summary>Table Name for Totals in Financial Transaction- Journal Entry Screen</summary>
		public static string JournalEntryDataTableName				{ get { return journalEntryDataTableName; } }
		#endregion

		#region Defaults
		///<summary>Default date for transaction start date</summary>
		public static string DefaultTransactionStartDate			{ get { return defaultTransactionStartDate; } }

		///<summary>Default date for transaction end date</summary>
		public static string DefaultTransactionEndDate				{ get { return defaultTransactionEndDate; } }

		///<summary>Default Detail page level value for BreadCrumb</summary>
		public static int DefaultDetailPageLevelValue				{ get { return defaultDetailPageLevelValue; } }

		///<summary>Default Sub-Detail page level value for BreadCrumb</summary>
		public static int DefaultSubDetailPageLevelValue			{ get { return defaultSubDetailPageLevelValue; } }

		///<summary>Default Summary page level value for BreadCrumb</summary>
		public static int DefaultSummaryPageLevelValue				{ get { return defaultSummaryPageLevelValue; } }

		#endregion

		#region Style		
		///<summary>Default style for negative numbers</summary>
		public static string DeficitStyle							{ get { return deficitStyle; } }
		///<summary>Default style for positive numbers</summary>
		public static string CurrencyStyle							{ get { return currencyStyle; } }
		#endregion

		
		#region Style for expanding grid
		
		public static string GridItemExpanded
		{
			get{return gridItemExpanded;}
		}

		public static string GridAltItemExpanded
		{
			get{return gridAltItemExpanded;}
		}

		public static string InnerRadioButton
		{
			get{return innerRadioButton;}
		}

		public static string InnerRadioButtonExpanded
		{
			get{return innerRadioButtonExpanded;}
		}

		public static string ExpandedGridDeficitStyle
		{
			get{return expandedGridDeficitStyle;}
		}

		public static string ExpandedGridCurrencyStyle
		{
			get{return expandingGridCurrencyStyle;}
		}

		

		#endregion

        #region DataGrid Sort
        ///<summary>Sort Order Descending</summary>
		public static string SortOrderDescending					{ get { return sortOrderDescending; } }

		///<summary>Sort Order Ascending</summary>
		public static string SortOrderAscending						{ get { return sortOrderAscending; } }

        /// <summary>
        /// Gets the text value that shows ascending sort option.
        /// </summary>
        public static string SortAscendingText
        {
            get { return SortAscendingTextValue; }
        }

        /// <summary>
        /// Gets the text value that shows descending sort option.
        /// </summary>
        public static string SortDescendingText
        {
            get { return SortDescendingTextValue; }
        }

        /// <summary>
        /// Gets the font name value for datagrid sort symbol.
        /// </summary>
        public static string SortSymbolFontName
        {
            get { return SortSymbolFontNameValue; }
        }

        #endregion

		#endregion

		#region Constructor
		private Constants()
		{
		}
		#endregion

	}
	#endregion
}
// --- EOF ---